// 90年代末  浏览器简单的业务 js 发现 -> es5(jquery) ->es6+(现代 react  babel)
//promise ->es6 async await
// async awit es7提供
// promise 是es6提供的异步同步化方案
//es7 还要提供新的方案 then 有不完美的地方

function f1(cb) {
    console.log('111')
    setTimeout(function() {
        cb();
    },1000)
}
function f2(cb) {
    console.log('222')
    setTimeout(function() {
        cb();
    },2000)
}
function f3(cb) {
    console.log('333')
    setTimeout(function() {
        cb();
    },3000)
}
function f4(cb) {
    console.log('444')
}
// 回调地狱  异步任务队列 保证顺序
// 可读性不好
f1(function() {
    f2(function() {
        f3(f4)
    })
})

